package com.yonyou.pmclouds.safetyrectification.service;

import com.yonyou.pmclouds.basecom.exception.BusinessException;
import com.yonyou.pmclouds.safetyrectification.acceptrecord.entity.AcceptRecordVO;
import com.yonyou.pmclouds.safetyrectification.assignrecord.entity.AssignRecordVO;
import com.yonyou.pmclouds.safetyrectification.entity.SafetyRectificationVO;
import com.yonyou.pmclouds.safetyrectification.rectificationrecord.entity.RectificationRecordVO;

/**
 * 安全整改事务接口
 *
 * @author th
 * @date 2019/10/24 13:37
 */
public interface ISafetyRectificationMaintain {

    /**
     * 新增
     *
     * @param vo
     * @return
     * @throws BusinessException
     */
    SafetyRectificationVO add(SafetyRectificationVO vo) throws BusinessException;

    SafetyRectificationVO update(SafetyRectificationVO vo) throws BusinessException;

    /**
     * 交办
     *
     * @param assignRecordVO
     * @return
     */
    SafetyRectificationVO assign(AssignRecordVO assignRecordVO) throws BusinessException;

    /**
     * 整改
     *
     * @param recordVO
     * @return
     */
    SafetyRectificationVO rectify(RectificationRecordVO recordVO) throws BusinessException;

    /**
     * 继续整改
     *
     * @param recordVO
     * @return
     */
    SafetyRectificationVO rectifyAgain(AcceptRecordVO recordVO) throws BusinessException;

    /**
     * 验收通过
     *
     * @param vo
     * @return
     * @throws BusinessException
     */
    SafetyRectificationVO pass(SafetyRectificationVO vo) throws BusinessException;
}
